package StopWatch;

import org.springframework.util.StopWatch;

public class MultipleTaskDemo {

    public static void main(String[] args) throws InterruptedException {
        // 创建一个带有ID的StopWatch实例
        StopWatch stopWatch = new StopWatch("MyStopWatch");

        // 开始第一个任务
        stopWatch.start("任务 A");
        Thread.sleep(200); // 模拟任务 A 执行
        stopWatch.stop();  // 停止计时

        // 开始第二个任务
        stopWatch.start("任务 B");
        Thread.sleep(400); // 模拟任务 B 执行
        stopWatch.stop();  // 停止计时

        // 开始第三个任务
        stopWatch.start("任务 C");
        Thread.sleep(600); // 模拟任务 C 执行
        stopWatch.stop();  // 停止计时

        // 输出 StopWatch 的 ID 和所有任务信息
        System.out.println("StopWatch ID: " + stopWatch.getId());
        System.out.println(stopWatch.prettyPrint());

        // 遍历每个任务的信息
        for (StopWatch.TaskInfo taskInfo : stopWatch.getTaskInfo()) {
            System.out.println("任务名称: " + taskInfo.getTaskName());
            System.out.println("任务耗时: " + taskInfo.getTimeMillis() + " ms");
        }

        // 输出总耗时
        System.out.println("总耗时: " + stopWatch.getTotalTimeMillis() + " ms");
    }
}

